#pragma once
/*
#include <AST/ExprAST.hpp>
#include <functional>

class AnyGen : public Expr {
  protected:
    using ValueGenerator = std::function<Value *()>;

  public:
    const ValueGenerator generator;

    AnyGen(ValueGenerator &&generator) : generator(std::move(generator)) {}

    AnyGen() = delete;
    AnyGen(const AnyGen &) = delete;
    AnyGen(AnyGen &&) = delete;

    virtual Value *codegen() override { return generator(); }

};
*/